/**
 * @file user_wifi.h
 * @brief WiFi功能头文件
 * 
 * 声明WiFi功能相关的函数和数据结构。
 */

#ifndef USER_WIFI_H
#define USER_WIFI_H

#include <stdbool.h>
#include "freertos/FreeRTOS.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief 初始化WiFi
 * 
 * 初始化WiFi模块，创建网络接口并启动连接过程。
 */
void user_wifi_init(void);

/**
 * @brief 等待WiFi连接
 * 
 * 等待WiFi连接成功或超时。
 * 
 * @param ticks_to_wait 等待的ticks数
 * @return bool true表示连接成功，false表示超时或失败
 */
bool user_wifi_wait_for_connection(TickType_t ticks_to_wait);

/**
 * @brief 检查WiFi连接状态
 * 
 * @return bool true表示已连接，false表示未连接
 */
bool user_wifi_is_connected(void);

/**
 * @brief 断开WiFi连接
 * 
 * 主动断开WiFi连接。
 */
void user_wifi_disconnect(void);

/**
 * @brief 重新连接WiFi
 * 
 * 重新连接到WiFi网络。
 */
void user_wifi_reconnect(void);

#ifdef __cplusplus
}
#endif

#endif // USER_WIFI_H